Autogenerated HTML docs for v1.6.5.2-140-g5f809
diff --git a/diff-options.txt b/diff-options.txt index 9276fae..e26b847 100644 --- a/diff-options.txt +++ b/diff-options.txt
@@ -87,6 +87,13 @@ Show only names and status of changed files. See the description of the `--diff-filter` option on what the status letters mean. +--submodule[=<format>]:: + Chose the output format for submodule differences. <format> can be one of + 'short' and 'log'. 'short' just shows pairs of commit names, this format + is used when this option is not given. 'log' is the default value for this + option and lists the commits in that commit range like the 'summary' + option of linkgit:git-submodule[1] does. + --color:: Show colored diff.
diff --git a/fetch-options.txt b/fetch-options.txt index 5eb2b0e..2886874 100644 --- a/fetch-options.txt +++ b/fetch-options.txt
@@ -1,25 +1,13 @@ -ifndef::git-pull[] --q:: ---quiet:: - Pass --quiet to git-fetch-pack and silence any other internally - used git commands. - --v:: ---verbose:: - Be verbose. -endif::git-pull[] - -a:: --append:: Append ref names and object names of fetched refs to the existing contents of `.git/FETCH_HEAD`. Without this option old data in `.git/FETCH_HEAD` will be overwritten. ---upload-pack <upload-pack>:: - When given, and the repository to fetch from is handled - by 'git-fetch-pack', '--exec=<upload-pack>' is passed to - the command to specify non-default path for the command - run on the other end. +--depth=<depth>:: + Deepen the history of a 'shallow' repository created by + `git clone` with `--depth=<depth>` option (see linkgit:git-clone[1]) + by the specified number of commits. -f:: --force:: @@ -29,6 +17,10 @@ fetches is a descendant of `<lbranch>`. This option overrides that check. +-k:: +--keep:: + Keep downloaded pack. + ifdef::git-pull[] --no-tags:: endif::git-pull[] @@ -49,10 +41,6 @@ flag lets all tags and their associated objects be downloaded. --k:: ---keep:: - Keep downloaded pack. - -u:: --update-head-ok:: By default 'git-fetch' refuses to update the head which @@ -62,7 +50,19 @@ implementing your own Porcelain you are not supposed to use it. ---depth=<depth>:: - Deepen the history of a 'shallow' repository created by - `git clone` with `--depth=<depth>` option (see linkgit:git-clone[1]) - by the specified number of commits. +--upload-pack <upload-pack>:: + When given, and the repository to fetch from is handled + by 'git-fetch-pack', '--exec=<upload-pack>' is passed to + the command to specify non-default path for the command + run on the other end. + +ifndef::git-pull[] +-q:: +--quiet:: + Pass --quiet to git-fetch-pack and silence any other internally + used git commands. + +-v:: +--verbose:: + Be verbose. +endif::git-pull[]
diff --git a/git-bisect.html b/git-bisect.html index 285fd5d..52afca3 100644 --- a/git-bisect.html +++ b/git-bisect.html
@@ -333,7 +333,7 @@ git bisect bad [<rev>] git bisect good [<rev>...] git bisect skip [(<rev>|<range>)...] -git bisect reset [<branch>] +git bisect reset [<commit>] git bisect visualize git bisect replay <logfile> git bisect log @@ -380,15 +380,24 @@ <div class="para"><p>Eventually there will be no more revisions left to bisect, and you will have been left with the first bad kernel revision in "refs/bisect/bad".</p></div> <h3 id="_bisect_reset">Bisect reset</h3><div style="clear:left"></div> -<div class="para"><p>To return to the original head after a bisect session, issue the -following command:</p></div> +<div class="para"><p>After a bisect session, to clean up the bisection state and return to +the original HEAD, issue the following command:</p></div> <div class="listingblock"> <div class="content"> <pre><tt>$ git bisect reset</tt></pre> </div></div> -<div class="para"><p>This resets the tree to the original branch instead of being on the -bisection commit ("git bisect start" will also do that, as it resets -the bisection state).</p></div> +<div class="para"><p>By default, this will return your tree to the commit that was checked +out before <tt>git bisect start</tt>. (A new <tt>git bisect start</tt> will also do +that, as it cleans up the old bisection state.)</p></div> +<div class="para"><p>With an optional argument, you can return to a different commit +instead:</p></div> +<div class="listingblock"> +<div class="content"> +<pre><tt>$ git bisect reset <commit></tt></pre> +</div></div> +<div class="para"><p>For example, <tt>git bisect reset HEAD</tt> will leave you on the current +bisection commit and avoid switching commits at all, while <tt>git bisect +reset bisect/bad</tt> will check out the first bad revision.</p></div> <h3 id="_bisect_visualize">Bisect visualize</h3><div style="clear:left"></div> <div class="para"><p>To see the currently remaining suspects in <em>gitk</em>, issue the following command during the bisection process:</p></div> @@ -599,7 +608,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-07-02 03:16:40 UTC +Last updated 2009-10-31 04:03:02 UTC </div> </div> </body>
diff --git a/git-bisect.txt b/git-bisect.txt index 63e7a42..d2ffae0 100644 --- a/git-bisect.txt +++ b/git-bisect.txt
@@ -20,7 +20,7 @@ git bisect bad [<rev>] git bisect good [<rev>...] git bisect skip [(<rev>|<range>)...] - git bisect reset [<branch>] + git bisect reset [<commit>] git bisect visualize git bisect replay <logfile> git bisect log @@ -81,16 +81,27 @@ Bisect reset ~~~~~~~~~~~~ -To return to the original head after a bisect session, issue the -following command: +After a bisect session, to clean up the bisection state and return to +the original HEAD, issue the following command: ------------------------------------------------ $ git bisect reset ------------------------------------------------ -This resets the tree to the original branch instead of being on the -bisection commit ("git bisect start" will also do that, as it resets -the bisection state). +By default, this will return your tree to the commit that was checked +out before `git bisect start`. (A new `git bisect start` will also do +that, as it cleans up the old bisection state.) + +With an optional argument, you can return to a different commit +instead: + +------------------------------------------------ +$ git bisect reset <commit> +------------------------------------------------ + +For example, `git bisect reset HEAD` will leave you on the current +bisection commit and avoid switching commits at all, while `git bisect +reset bisect/bad` will check out the first bad revision. Bisect visualize ~~~~~~~~~~~~~~~~
diff --git a/git-check-ref-format.html b/git-check-ref-format.html index d9dadd3..36c323c 100644 --- a/git-check-ref-format.html +++ b/git-check-ref-format.html
@@ -322,6 +322,7 @@ <div class="sectionbody"> <div class="verseblock"> <div class="content"><em>git check-ref-format</em> <refname> +<em>git check-ref-format</em> --print <refname> <em>git check-ref-format</em> --branch <branchname-shorthand></div></div> </div> <h2 id="_description">DESCRIPTION</h2> @@ -415,24 +416,38 @@ </p> </li> </ol></div> +<div class="para"><p>With the <tt>--print</tt> option, if <em>refname</em> is acceptable, it prints the +canonicalized name of a hypothetical reference with that name. That is, +it prints <em>refname</em> with any extra <tt>/</tt> characters removed.</p></div> <div class="para"><p>With the <tt>--branch</tt> option, it expands the “previous branch syntax” <tt>@{-n}</tt>. For example, <tt>@{-1}</tt> is a way to refer the last branch you were on. This option should be used by porcelains to accept this syntax anywhere a branch name is expected, so they can act as if you typed the branch name.</p></div> </div> -<h2 id="_example">EXAMPLE</h2> +<h2 id="_examples">EXAMPLES</h2> <div class="sectionbody"> -<div class="vlist"><dl> -<dt> -git check-ref-format --branch @{-1} -</dt> -<dd> +<div class="ilist"><ul> +<li> <p> -Print the name of the previous branch. +Print the name of the previous branch: </p> -</dd> -</dl></div> +<div class="listingblock"> +<div class="content"> +<pre><tt>$ git check-ref-format --branch @{-1}</tt></pre> +</div></div> +</li> +<li> +<p> +Determine the reference name to use for a new branch: +</p> +<div class="listingblock"> +<div class="content"> +<pre><tt>$ ref=$(git check-ref-format --print "refs/heads/$newbranch") || +die "we do not like '$newbranch' as a branch name."</tt></pre> +</div></div> +</li> +</ul></div> </div> <h2 id="_git">GIT</h2> <div class="sectionbody"> @@ -440,7 +455,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-10-19 08:04:09 UTC +Last updated 2009-10-31 04:03:02 UTC </div> </div> </body>
diff --git a/git-check-ref-format.txt b/git-check-ref-format.txt index e9b3b40..0aeef24 100644 --- a/git-check-ref-format.txt +++ b/git-check-ref-format.txt
@@ -9,6 +9,7 @@ -------- [verse] 'git check-ref-format' <refname> +'git check-ref-format' --print <refname> 'git check-ref-format' --branch <branchname-shorthand> DESCRIPTION @@ -63,19 +64,31 @@ . at-open-brace `@{` is used as a notation to access a reflog entry. +With the `--print` option, if 'refname' is acceptable, it prints the +canonicalized name of a hypothetical reference with that name. That is, +it prints 'refname' with any extra `/` characters removed. + With the `--branch` option, it expands the ``previous branch syntax'' `@{-n}`. For example, `@{-1}` is a way to refer the last branch you were on. This option should be used by porcelains to accept this syntax anywhere a branch name is expected, so they can act as if you typed the branch name. -EXAMPLE -------- +EXAMPLES +-------- -git check-ref-format --branch @{-1}:: +* Print the name of the previous branch: ++ +------------ +$ git check-ref-format --branch @{-1} +------------ -Print the name of the previous branch. - +* Determine the reference name to use for a new branch: ++ +------------ +$ ref=$(git check-ref-format --print "refs/heads/$newbranch") || +die "we do not like '$newbranch' as a branch name." +------------ GIT ---
diff --git a/git-describe.html b/git-describe.html index 13b8a91..7d3582a 100644 --- a/git-describe.html +++ b/git-describe.html
@@ -380,7 +380,9 @@ <dd> <p> Instead of using the default 7 hexadecimal digits as the - abbreviated object name, use <n> digits. + abbreviated object name, use <n> digits, or as many digits + as needed to form a unique object name. An <n> of 0 + will suppress long format, only showing the closest tag. </p> </dd> <dt> @@ -424,8 +426,8 @@ This is useful when you want to see parts of the commit object name in "describe" output, even when the commit in question happens to be a tagged version. Instead of just emitting the tag name, it will - describe such a commit as v1.2-0-deadbeef (0th commit since tag v1.2 - that points at object deadbeef….). + describe such a commit as v1.2-0-gdeadbee (0th commit since tag v1.2 + that points at object deadbee….). </p> </dd> <dt> @@ -479,7 +481,7 @@ </div></div> <div class="literalblock"> <div class="content"> -<pre><tt>[torvalds@g5 git]$ git describe --all HEAD^ +<pre><tt>[torvalds@g5 git]$ git describe --all --abbrev=4 HEAD^ heads/lt/describe-7-g975b</tt></pre> </div></div> <div class="para"><p>With --abbrev set to 0, the command can be used to find the @@ -489,6 +491,11 @@ <pre><tt>[torvalds@g5 git]$ git describe --abbrev=0 v1.0.5^2 tags/v1.0.0</tt></pre> </div></div> +<div class="para"><p>Note that the suffix you get if you type these commands today may be +longer than what Linus saw above when he ran this command, as your +git repository may have new commits whose object names begin with +975b that did not exist back then, and "-g975b" suffix alone may not +be sufficient to disambiguate these commits.</p></div> </div> <h2 id="_search_strategy">SEARCH STRATEGY</h2> <div class="sectionbody"> @@ -523,7 +530,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-07-01 02:30:47 UTC +Last updated 2009-10-31 04:03:03 UTC </div> </div> </body>
diff --git a/git-describe.txt b/git-describe.txt index b231dbb..e9dbca7 100644 --- a/git-describe.txt +++ b/git-describe.txt
@@ -44,7 +44,9 @@ --abbrev=<n>:: Instead of using the default 7 hexadecimal digits as the - abbreviated object name, use <n> digits. + abbreviated object name, use <n> digits, or as many digits + as needed to form a unique object name. An <n> of 0 + will suppress long format, only showing the closest tag. --candidates=<n>:: Instead of considering only the 10 most recent tags as @@ -68,8 +70,8 @@ This is useful when you want to see parts of the commit object name in "describe" output, even when the commit in question happens to be a tagged version. Instead of just emitting the tag name, it will - describe such a commit as v1.2-0-deadbeef (0th commit since tag v1.2 - that points at object deadbeef....). + describe such a commit as v1.2-0-gdeadbee (0th commit since tag v1.2 + that points at object deadbee....). --match <pattern>:: Only consider tags matching the given pattern (can be used to avoid @@ -108,7 +110,7 @@ [torvalds@g5 git]$ git describe --all --abbrev=4 v1.0.5^2 tags/v1.0.0-21-g975b - [torvalds@g5 git]$ git describe --all HEAD^ + [torvalds@g5 git]$ git describe --all --abbrev=4 HEAD^ heads/lt/describe-7-g975b With --abbrev set to 0, the command can be used to find the @@ -117,6 +119,13 @@ [torvalds@g5 git]$ git describe --abbrev=0 v1.0.5^2 tags/v1.0.0 +Note that the suffix you get if you type these commands today may be +longer than what Linus saw above when he ran this command, as your +git repository may have new commits whose object names begin with +975b that did not exist back then, and "-g975b" suffix alone may not +be sufficient to disambiguate these commits. + + SEARCH STRATEGY ---------------
diff --git a/git-diff-files.html b/git-diff-files.html index 78c4644..fed7cf0 100644 --- a/git-diff-files.html +++ b/git-diff-files.html
@@ -480,6 +480,18 @@ </p> </dd> <dt> +--submodule[=<format>] +</dt> +<dd> +<p> + Chose the output format for submodule differences. <format> can be one of + <em>short</em> and <em>log</em>. <em>short</em> just shows pairs of commit names, this format + is used when this option is not given. <em>log</em> is the default value for this + option and lists the commits in that commit range like the <em>summary</em> + option of <a href="git-submodule.html">git-submodule(1)</a> does. +</p> +</dd> +<dt> --color </dt> <dd> @@ -1120,7 +1132,7 @@ </div></div> <div class="para"><p>The <tt>a/</tt> and <tt>b/</tt> filenames are the same unless rename/copy is involved. Especially, even for a creation or a deletion, -<tt>/dev/null</tt> is _not_ used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div> +<tt>/dev/null</tt> is <em>not</em> used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div> <div class="para"><p>When rename/copy is involved, <tt>file1</tt> and <tt>file2</tt> show the name of the source file of the rename/copy and the name of the file that rename/copy produces, respectively.</p></div> @@ -1413,7 +1425,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-07-29 08:35:00 UTC +Last updated 2009-10-31 04:03:03 UTC </div> </div> </body>
diff --git a/git-diff-index.html b/git-diff-index.html index 71f8a8e..26d4cfe 100644 --- a/git-diff-index.html +++ b/git-diff-index.html
@@ -481,6 +481,18 @@ </p> </dd> <dt> +--submodule[=<format>] +</dt> +<dd> +<p> + Chose the output format for submodule differences. <format> can be one of + <em>short</em> and <em>log</em>. <em>short</em> just shows pairs of commit names, this format + is used when this option is not given. <em>log</em> is the default value for this + option and lists the commits in that commit range like the <em>summary</em> + option of <a href="git-submodule.html">git-submodule(1)</a> does. +</p> +</dd> +<dt> --color </dt> <dd> @@ -1104,7 +1116,7 @@ </div></div> <div class="para"><p>The <tt>a/</tt> and <tt>b/</tt> filenames are the same unless rename/copy is involved. Especially, even for a creation or a deletion, -<tt>/dev/null</tt> is _not_ used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div> +<tt>/dev/null</tt> is <em>not</em> used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div> <div class="para"><p>When rename/copy is involved, <tt>file1</tt> and <tt>file2</tt> show the name of the source file of the rename/copy and the name of the file that rename/copy produces, respectively.</p></div> @@ -1491,7 +1503,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-07-29 08:35:00 UTC +Last updated 2009-10-31 04:03:03 UTC </div> </div> </body>
diff --git a/git-diff-tree.html b/git-diff-tree.html index f3fb8a2..abf0e6f 100644 --- a/git-diff-tree.html +++ b/git-diff-tree.html
@@ -483,6 +483,18 @@ </p> </dd> <dt> +--submodule[=<format>] +</dt> +<dd> +<p> + Chose the output format for submodule differences. <format> can be one of + <em>short</em> and <em>log</em>. <em>short</em> just shows pairs of commit names, this format + is used when this option is not given. <em>log</em> is the default value for this + option and lists the commits in that commit range like the <em>summary</em> + option of <a href="git-submodule.html">git-submodule(1)</a> does. +</p> +</dd> +<dt> --color </dt> <dd> @@ -1311,6 +1323,21 @@ </li> <li> <p> +<em>%gD</em>: reflog selector, e.g., <tt>refs/stash@{1}</tt> +</p> +</li> +<li> +<p> +<em>%gd</em>: shortened reflog selector, e.g., <tt>stash@{1}</tt> +</p> +</li> +<li> +<p> +<em>%gs</em>: reflog subject +</p> +</li> +<li> +<p> <em>%Cred</em>: switch color to red </p> </li> @@ -1351,6 +1378,20 @@ </li> </ul></div> </li> +</ul></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Note</div> +</td> +<td class="content">Some placeholders may depend on other options given to the +revision traversal engine. For example, the <tt>%g*</tt> reflog options will +insert an empty string unless we are traversing reflog entries (e.g., by +<tt>git log -g</tt>). The <tt>%d</tt> placeholder will use the "short" decoration +format if <tt>--decorate</tt> was not already provided on the command line.</td> +</tr></table> +</div> +<div class="ilist"><ul> <li> <p> <em>tformat:</em> @@ -1679,7 +1720,7 @@ </div></div> <div class="para"><p>The <tt>a/</tt> and <tt>b/</tt> filenames are the same unless rename/copy is involved. Especially, even for a creation or a deletion, -<tt>/dev/null</tt> is _not_ used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div> +<tt>/dev/null</tt> is <em>not</em> used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div> <div class="para"><p>When rename/copy is involved, <tt>file1</tt> and <tt>file2</tt> show the name of the source file of the rename/copy and the name of the file that rename/copy produces, respectively.</p></div> @@ -1972,7 +2013,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-07-29 08:35:00 UTC +Last updated 2009-10-31 04:03:04 UTC </div> </div> </body>
diff --git a/git-diff.html b/git-diff.html index 375ed3f..914d4ab 100644 --- a/git-diff.html +++ b/git-diff.html
@@ -334,7 +334,7 @@ <p> This form is to view the changes you made relative to the index (staging area for the next commit). In other - words, the differences are what you _could_ tell git to + words, the differences are what you <em>could</em> tell git to further add to the index but you still haven't. You can stage these changes by using <a href="git-add.html">git-add(1)</a>. </p> @@ -404,7 +404,7 @@ <tree-ish>.</p></div> <div class="para"><p>For a more complete list of ways to spell <commit>, see "SPECIFYING REVISIONS" section in <a href="git-rev-parse.html">git-rev-parse(1)</a>. -However, "diff" is about comparing two _endpoints_, not ranges, +However, "diff" is about comparing two <em>endpoints</em>, not ranges, and the range notations ("<commit>..<commit>" and "<commit>...<commit>") do not mean a range as defined in the "SPECIFYING RANGES" section in <a href="git-rev-parse.html">git-rev-parse(1)</a>.</p></div> @@ -560,6 +560,18 @@ </p> </dd> <dt> +--submodule[=<format>] +</dt> +<dd> +<p> + Chose the output format for submodule differences. <format> can be one of + <em>short</em> and <em>log</em>. <em>short</em> just shows pairs of commit names, this format + is used when this option is not given. <em>log</em> is the default value for this + option and lists the commits in that commit range like the <em>summary</em> + option of <a href="git-submodule.html">git-submodule(1)</a> does. +</p> +</dd> +<dt> --color </dt> <dd> @@ -1166,7 +1178,7 @@ </div></div> <div class="para"><p>The <tt>a/</tt> and <tt>b/</tt> filenames are the same unless rename/copy is involved. Especially, even for a creation or a deletion, -<tt>/dev/null</tt> is _not_ used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div> +<tt>/dev/null</tt> is <em>not</em> used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div> <div class="para"><p>When rename/copy is involved, <tt>file1</tt> and <tt>file2</tt> show the name of the source file of the rename/copy and the name of the file that rename/copy produces, respectively.</p></div> @@ -1607,7 +1619,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-07-29 08:35:00 UTC +Last updated 2009-10-31 04:03:04 UTC </div> </div> </body>
diff --git a/git-fetch.html b/git-fetch.html index 631d1d7..b3ee7ae 100644 --- a/git-fetch.html +++ b/git-fetch.html
@@ -341,29 +341,6 @@ <div class="sectionbody"> <div class="vlist"><dl> <dt> --q -</dt> -<dt> ---quiet -</dt> -<dd> -<p> - Pass --quiet to git-fetch-pack and silence any other internally - used git commands. -</p> -</dd> -<dt> --v -</dt> -<dt> ---verbose -</dt> -<dd> -<p> - Be verbose. -</p> -</dd> -<dt> -a </dt> <dt> @@ -377,14 +354,13 @@ </p> </dd> <dt> ---upload-pack <upload-pack> +--depth=<depth> </dt> <dd> <p> - When given, and the repository to fetch from is handled - by <em>git-fetch-pack</em>, <em>--exec=<upload-pack></em> is passed to - the command to specify non-default path for the command - run on the other end. + Deepen the history of a <em>shallow</em> repository created by + <tt>git clone</tt> with <tt>--depth=<depth></tt> option (see <a href="git-clone.html">git-clone(1)</a>) + by the specified number of commits. </p> </dd> <dt> @@ -403,6 +379,17 @@ </p> </dd> <dt> +-k +</dt> +<dt> +--keep +</dt> +<dd> +<p> + Keep downloaded pack. +</p> +</dd> +<dt> -n </dt> <dt> @@ -432,17 +419,6 @@ </p> </dd> <dt> --k -</dt> -<dt> ---keep -</dt> -<dd> -<p> - Keep downloaded pack. -</p> -</dd> -<dt> -u </dt> <dt> @@ -459,13 +435,37 @@ </p> </dd> <dt> ---depth=<depth> +--upload-pack <upload-pack> </dt> <dd> <p> - Deepen the history of a <em>shallow</em> repository created by - <tt>git clone</tt> with <tt>--depth=<depth></tt> option (see <a href="git-clone.html">git-clone(1)</a>) - by the specified number of commits. + When given, and the repository to fetch from is handled + by <em>git-fetch-pack</em>, <em>--exec=<upload-pack></em> is passed to + the command to specify non-default path for the command + run on the other end. +</p> +</dd> +<dt> +-q +</dt> +<dt> +--quiet +</dt> +<dd> +<p> + Pass --quiet to git-fetch-pack and silence any other internally + used git commands. +</p> +</dd> +<dt> +-v +</dt> +<dt> +--verbose +</dt> +<dd> +<p> + Be verbose. </p> </dd> <dt> @@ -786,6 +786,38 @@ <pre><tt> HEAD:refs/heads/<head></tt></pre> </div></div> </div> +<h2 id="_examples">EXAMPLES</h2> +<div class="sectionbody"> +<div class="ilist"><ul> +<li> +<p> +Update the remote-tracking branches: +</p> +<div class="listingblock"> +<div class="content"> +<pre><tt>$ git fetch origin</tt></pre> +</div></div> +<div class="para"><p>The above command copies all branches from the remote refs/heads/ +namespace and stores them to the local refs/remotes/origin/ namespace, +unless the branch.<name>.fetch option is used to specify a non-default +refspec.</p></div> +</li> +<li> +<p> +Using refspecs explicitly: +</p> +<div class="listingblock"> +<div class="content"> +<pre><tt>$ git fetch origin +pu:pu maint:tmp</tt></pre> +</div></div> +<div class="para"><p>This updates (or creates, as necessary) branches <tt>pu</tt> and <tt>tmp</tt> in +the local repository by fetching from the branches (respectively) +<tt>pu</tt> and <tt>maint</tt> from the remote repository.</p></div> +<div class="para"><p>The <tt>pu</tt> branch will be updated even if it is does not fast-forward, +because it is prefixed with a plus sign; <tt>tmp</tt> will not be.</p></div> +</li> +</ul></div> +</div> <h2 id="_see_also">SEE ALSO</h2> <div class="sectionbody"> <div class="para"><p><a href="git-pull.html">git-pull(1)</a></p></div> @@ -805,7 +837,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-09-13 09:50:53 UTC +Last updated 2009-10-31 04:03:06 UTC </div> </div> </body>
diff --git a/git-fetch.txt b/git-fetch.txt index d3164c5..f2483d6 100644 --- a/git-fetch.txt +++ b/git-fetch.txt
@@ -37,6 +37,35 @@ include::urls-remotes.txt[] + +EXAMPLES +-------- + +* Update the remote-tracking branches: ++ +------------------------------------------------ +$ git fetch origin +------------------------------------------------ ++ +The above command copies all branches from the remote refs/heads/ +namespace and stores them to the local refs/remotes/origin/ namespace, +unless the branch.<name>.fetch option is used to specify a non-default +refspec. + +* Using refspecs explicitly: ++ +------------------------------------------------ +$ git fetch origin +pu:pu maint:tmp +------------------------------------------------ ++ +This updates (or creates, as necessary) branches `pu` and `tmp` in +the local repository by fetching from the branches (respectively) +`pu` and `maint` from the remote repository. ++ +The `pu` branch will be updated even if it is does not fast-forward, +because it is prefixed with a plus sign; `tmp` will not be. + + SEE ALSO -------- linkgit:git-pull[1]
diff --git a/git-format-patch.html b/git-format-patch.html index 808982b..0f95803 100644 --- a/git-format-patch.html +++ b/git-format-patch.html
@@ -527,6 +527,18 @@ </p> </dd> <dt> +--submodule[=<format>] +</dt> +<dd> +<p> + Chose the output format for submodule differences. <format> can be one of + <em>short</em> and <em>log</em>. <em>short</em> just shows pairs of commit names, this format + is used when this option is not given. <em>log</em> is the default value for this + option and lists the commits in that commit range like the <em>summary</em> + option of <a href="git-submodule.html">git-submodule(1)</a> does. +</p> +</dd> +<dt> --color </dt> <dd> @@ -1211,7 +1223,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-07-23 06:20:11 UTC +Last updated 2009-10-31 04:03:06 UTC </div> </div> </body>
diff --git a/git-log.html b/git-log.html index 0c75489..cbf5e40 100644 --- a/git-log.html +++ b/git-log.html
@@ -481,6 +481,18 @@ </p> </dd> <dt> +--submodule[=<format>] +</dt> +<dd> +<p> + Chose the output format for submodule differences. <format> can be one of + <em>short</em> and <em>log</em>. <em>short</em> just shows pairs of commit names, this format + is used when this option is not given. <em>log</em> is the default value for this + option and lists the commits in that commit range like the <em>summary</em> + option of <a href="git-submodule.html">git-submodule(1)</a> does. +</p> +</dd> +<dt> --color </dt> <dd> @@ -2025,6 +2037,21 @@ </li> <li> <p> +<em>%gD</em>: reflog selector, e.g., <tt>refs/stash@{1}</tt> +</p> +</li> +<li> +<p> +<em>%gd</em>: shortened reflog selector, e.g., <tt>stash@{1}</tt> +</p> +</li> +<li> +<p> +<em>%gs</em>: reflog subject +</p> +</li> +<li> +<p> <em>%Cred</em>: switch color to red </p> </li> @@ -2065,6 +2092,20 @@ </li> </ul></div> </li> +</ul></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Note</div> +</td> +<td class="content">Some placeholders may depend on other options given to the +revision traversal engine. For example, the <tt>%g*</tt> reflog options will +insert an empty string unless we are traversing reflog entries (e.g., by +<tt>git log -g</tt>). The <tt>%d</tt> placeholder will use the "short" decoration +format if <tt>--decorate</tt> was not already provided on the command line.</td> +</tr></table> +</div> +<div class="ilist"><ul> <li> <p> <em>tformat:</em> @@ -2121,7 +2162,7 @@ </div></div> <div class="para"><p>The <tt>a/</tt> and <tt>b/</tt> filenames are the same unless rename/copy is involved. Especially, even for a creation or a deletion, -<tt>/dev/null</tt> is _not_ used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div> +<tt>/dev/null</tt> is <em>not</em> used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div> <div class="para"><p>When rename/copy is involved, <tt>file1</tt> and <tt>file2</tt> show the name of the source file of the rename/copy and the name of the file that rename/copy produces, respectively.</p></div> @@ -2426,7 +2467,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-08-26 01:35:04 UTC +Last updated 2009-10-31 04:03:07 UTC </div> </div> </body>
diff --git a/git-merge.html b/git-merge.html index ece98e6..be674b3 100644 --- a/git-merge.html +++ b/git-merge.html
@@ -337,6 +337,115 @@ <div class="sectionbody"> <div class="vlist"><dl> <dt> +--commit +</dt> +<dt> +--no-commit +</dt> +<dd> +<p> + Perform the merge and commit the result. This option can + be used to override --no-commit. +</p> +<div class="para"><p>With --no-commit perform the merge but pretend the merge +failed and do not autocommit, to give the user a chance to +inspect and further tweak the merge result before committing.</p></div> +</dd> +<dt> +--ff +</dt> +<dt> +--no-ff +</dt> +<dd> +<p> + Do not generate a merge commit if the merge resolved as + a fast-forward, only update the branch pointer. This is + the default behavior of git-merge. +</p> +<div class="para"><p>With --no-ff Generate a merge commit even if the merge +resolved as a fast-forward.</p></div> +</dd> +<dt> +--log +</dt> +<dt> +--no-log +</dt> +<dd> +<p> + In addition to branch names, populate the log message with + one-line descriptions from the actual commits that are being + merged. +</p> +<div class="para"><p>With --no-log do not list one-line descriptions from the +actual commits being merged.</p></div> +</dd> +<dt> +--stat +</dt> +<dt> +-n +</dt> +<dt> +--no-stat +</dt> +<dd> +<p> + Show a diffstat at the end of the merge. The diffstat is also + controlled by the configuration option merge.stat. +</p> +<div class="para"><p>With -n or --no-stat do not show a diffstat at the end of the +merge.</p></div> +</dd> +<dt> +--squash +</dt> +<dt> +--no-squash +</dt> +<dd> +<p> + Produce the working tree and index state as if a real + merge happened (except for the merge information), + but do not actually make a commit or + move the <tt>HEAD</tt>, nor record <tt>$GIT_DIR/MERGE_HEAD</tt> to + cause the next <tt>git commit</tt> command to create a merge + commit. This allows you to create a single commit on + top of the current branch whose effect is the same as + merging another branch (or more in case of an octopus). +</p> +<div class="para"><p>With --no-squash perform the merge and commit the result. This +option can be used to override --squash.</p></div> +</dd> +<dt> +-s <strategy> +</dt> +<dt> +--strategy=<strategy> +</dt> +<dd> +<p> + Use the given merge strategy; can be supplied more than + once to specify them in the order they should be tried. + If there is no <tt>-s</tt> option, a built-in list of strategies + is used instead (<em>git-merge-recursive</em> when merging a single + head, <em>git-merge-octopus</em> otherwise). +</p> +</dd> +<dt> +--summary +</dt> +<dt> +--no-summary +</dt> +<dd> +<p> + Synonyms to --stat and --no-stat; these are deprecated and will be + removed in the future. +</p> +</dd> +<dt> -q </dt> <dt> @@ -359,134 +468,6 @@ </p> </dd> <dt> ---stat -</dt> -<dd> -<p> - Show a diffstat at the end of the merge. The diffstat is also - controlled by the configuration option merge.stat. -</p> -</dd> -<dt> --n -</dt> -<dt> ---no-stat -</dt> -<dd> -<p> - Do not show a diffstat at the end of the merge. -</p> -</dd> -<dt> ---summary -</dt> -<dt> ---no-summary -</dt> -<dd> -<p> - Synonyms to --stat and --no-stat; these are deprecated and will be - removed in the future. -</p> -</dd> -<dt> ---log -</dt> -<dd> -<p> - In addition to branch names, populate the log message with - one-line descriptions from the actual commits that are being - merged. -</p> -</dd> -<dt> ---no-log -</dt> -<dd> -<p> - Do not list one-line descriptions from the actual commits being - merged. -</p> -</dd> -<dt> ---no-commit -</dt> -<dd> -<p> - Perform the merge but pretend the merge failed and do - not autocommit, to give the user a chance to inspect and - further tweak the merge result before committing. -</p> -</dd> -<dt> ---commit -</dt> -<dd> -<p> - Perform the merge and commit the result. This option can - be used to override --no-commit. -</p> -</dd> -<dt> ---squash -</dt> -<dd> -<p> - Produce the working tree and index state as if a real - merge happened (except for the merge information), - but do not actually make a commit or - move the <tt>HEAD</tt>, nor record <tt>$GIT_DIR/MERGE_HEAD</tt> to - cause the next <tt>git commit</tt> command to create a merge - commit. This allows you to create a single commit on - top of the current branch whose effect is the same as - merging another branch (or more in case of an octopus). -</p> -</dd> -<dt> ---no-squash -</dt> -<dd> -<p> - Perform the merge and commit the result. This option can - be used to override --squash. -</p> -</dd> -<dt> ---no-ff -</dt> -<dd> -<p> - Generate a merge commit even if the merge resolved as a - fast-forward. -</p> -</dd> -<dt> ---ff -</dt> -<dd> -<p> - Do not generate a merge commit if the merge resolved as - a fast-forward, only update the branch pointer. This is - the default behavior of git-merge. -</p> -</dd> -<dt> --s <strategy> -</dt> -<dt> ---strategy=<strategy> -</dt> -<dd> -<p> - Use the given merge strategy; can be supplied more than - once to specify them in the order they should be tried. - If there is no <tt>-s</tt> option, a built-in list of strategies - is used instead (<em>git-merge-recursive</em> when merging a single - head, <em>git-merge-octopus</em> otherwise). -</p> -</dd> -<dt> -m <msg> </dt> <dd> @@ -900,6 +881,46 @@ </li> </ul></div> </div> +<h2 id="_examples">EXAMPLES</h2> +<div class="sectionbody"> +<div class="ilist"><ul> +<li> +<p> +Merge branches <tt>fixes</tt> and <tt>enhancements</tt> on top of + the current branch, making an octopus merge: +</p> +<div class="listingblock"> +<div class="content"> +<pre><tt>$ git merge fixes enhancements</tt></pre> +</div></div> +</li> +<li> +<p> +Merge branch <tt>obsolete</tt> into the current branch, using <tt>ours</tt> + merge strategy: +</p> +<div class="listingblock"> +<div class="content"> +<pre><tt>$ git merge -s ours obsolete</tt></pre> +</div></div> +</li> +<li> +<p> +Merge branch <tt>maint</tt> into the current branch, but do not make + a new commit automatically: +</p> +<div class="listingblock"> +<div class="content"> +<pre><tt>$ git merge --no-commit maint</tt></pre> +</div></div> +<div class="para"><p>This can be used when you want to include further changes to the +merge, or want to write your own merge commit message.</p></div> +<div class="para"><p>You should refrain from abusing this option to sneak substantial +changes into a merge commit. Small fixups like bumping +release/version name would be acceptable.</p></div> +</li> +</ul></div> +</div> <h2 id="_see_also">SEE ALSO</h2> <div class="sectionbody"> <div class="para"><p><a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a>, <a href="git-pull.html">git-pull(1)</a>, @@ -923,7 +944,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-10-10 00:56:05 UTC +Last updated 2009-10-31 04:03:07 UTC </div> </div> </body>
diff --git a/git-merge.txt b/git-merge.txt index d05f324..e886c2e 100644 --- a/git-merge.txt +++ b/git-merge.txt
@@ -212,6 +212,39 @@ common ancestor, 'git show :2:filename' shows the HEAD version and 'git show :3:filename' shows the remote version. + +EXAMPLES +-------- + +* Merge branches `fixes` and `enhancements` on top of + the current branch, making an octopus merge: ++ +------------------------------------------------ +$ git merge fixes enhancements +------------------------------------------------ + +* Merge branch `obsolete` into the current branch, using `ours` + merge strategy: ++ +------------------------------------------------ +$ git merge -s ours obsolete +------------------------------------------------ + +* Merge branch `maint` into the current branch, but do not make + a new commit automatically: ++ +------------------------------------------------ +$ git merge --no-commit maint +------------------------------------------------ ++ +This can be used when you want to include further changes to the +merge, or want to write your own merge commit message. ++ +You should refrain from abusing this option to sneak substantial +changes into a merge commit. Small fixups like bumping +release/version name would be acceptable. + + SEE ALSO -------- linkgit:git-fmt-merge-msg[1], linkgit:git-pull[1],
diff --git a/git-pull.html b/git-pull.html index 2ec5906..fc27eae 100644 --- a/git-pull.html +++ b/git-pull.html
@@ -335,8 +335,118 @@ </div> <h2 id="_options">OPTIONS</h2> <div class="sectionbody"> +<h3 id="_options_related_to_merging">Options related to merging</h3><div style="clear:left"></div> <div class="vlist"><dl> <dt> +--commit +</dt> +<dt> +--no-commit +</dt> +<dd> +<p> + Perform the merge and commit the result. This option can + be used to override --no-commit. +</p> +<div class="para"><p>With --no-commit perform the merge but pretend the merge +failed and do not autocommit, to give the user a chance to +inspect and further tweak the merge result before committing.</p></div> +</dd> +<dt> +--ff +</dt> +<dt> +--no-ff +</dt> +<dd> +<p> + Do not generate a merge commit if the merge resolved as + a fast-forward, only update the branch pointer. This is + the default behavior of git-merge. +</p> +<div class="para"><p>With --no-ff Generate a merge commit even if the merge +resolved as a fast-forward.</p></div> +</dd> +<dt> +--log +</dt> +<dt> +--no-log +</dt> +<dd> +<p> + In addition to branch names, populate the log message with + one-line descriptions from the actual commits that are being + merged. +</p> +<div class="para"><p>With --no-log do not list one-line descriptions from the +actual commits being merged.</p></div> +</dd> +<dt> +--stat +</dt> +<dt> +-n +</dt> +<dt> +--no-stat +</dt> +<dd> +<p> + Show a diffstat at the end of the merge. The diffstat is also + controlled by the configuration option merge.stat. +</p> +<div class="para"><p>With -n or --no-stat do not show a diffstat at the end of the +merge.</p></div> +</dd> +<dt> +--squash +</dt> +<dt> +--no-squash +</dt> +<dd> +<p> + Produce the working tree and index state as if a real + merge happened (except for the merge information), + but do not actually make a commit or + move the <tt>HEAD</tt>, nor record <tt>$GIT_DIR/MERGE_HEAD</tt> to + cause the next <tt>git commit</tt> command to create a merge + commit. This allows you to create a single commit on + top of the current branch whose effect is the same as + merging another branch (or more in case of an octopus). +</p> +<div class="para"><p>With --no-squash perform the merge and commit the result. This +option can be used to override --squash.</p></div> +</dd> +<dt> +-s <strategy> +</dt> +<dt> +--strategy=<strategy> +</dt> +<dd> +<p> + Use the given merge strategy; can be supplied more than + once to specify them in the order they should be tried. + If there is no <tt>-s</tt> option, a built-in list of strategies + is used instead (<em>git-merge-recursive</em> when merging a single + head, <em>git-merge-octopus</em> otherwise). +</p> +</dd> +<dt> +--summary +</dt> +<dt> +--no-summary +</dt> +<dd> +<p> + Synonyms to --stat and --no-stat; these are deprecated and will be + removed in the future. +</p> +</dd> +<dt> -q </dt> <dt> @@ -358,134 +468,6 @@ Be verbose. </p> </dd> -<dt> ---stat -</dt> -<dd> -<p> - Show a diffstat at the end of the merge. The diffstat is also - controlled by the configuration option merge.stat. -</p> -</dd> -<dt> --n -</dt> -<dt> ---no-stat -</dt> -<dd> -<p> - Do not show a diffstat at the end of the merge. -</p> -</dd> -<dt> ---summary -</dt> -<dt> ---no-summary -</dt> -<dd> -<p> - Synonyms to --stat and --no-stat; these are deprecated and will be - removed in the future. -</p> -</dd> -<dt> ---log -</dt> -<dd> -<p> - In addition to branch names, populate the log message with - one-line descriptions from the actual commits that are being - merged. -</p> -</dd> -<dt> ---no-log -</dt> -<dd> -<p> - Do not list one-line descriptions from the actual commits being - merged. -</p> -</dd> -<dt> ---no-commit -</dt> -<dd> -<p> - Perform the merge but pretend the merge failed and do - not autocommit, to give the user a chance to inspect and - further tweak the merge result before committing. -</p> -</dd> -<dt> ---commit -</dt> -<dd> -<p> - Perform the merge and commit the result. This option can - be used to override --no-commit. -</p> -</dd> -<dt> ---squash -</dt> -<dd> -<p> - Produce the working tree and index state as if a real - merge happened (except for the merge information), - but do not actually make a commit or - move the <tt>HEAD</tt>, nor record <tt>$GIT_DIR/MERGE_HEAD</tt> to - cause the next <tt>git commit</tt> command to create a merge - commit. This allows you to create a single commit on - top of the current branch whose effect is the same as - merging another branch (or more in case of an octopus). -</p> -</dd> -<dt> ---no-squash -</dt> -<dd> -<p> - Perform the merge and commit the result. This option can - be used to override --squash. -</p> -</dd> -<dt> ---no-ff -</dt> -<dd> -<p> - Generate a merge commit even if the merge resolved as a - fast-forward. -</p> -</dd> -<dt> ---ff -</dt> -<dd> -<p> - Do not generate a merge commit if the merge resolved as - a fast-forward, only update the branch pointer. This is - the default behavior of git-merge. -</p> -</dd> -<dt> --s <strategy> -</dt> -<dt> ---strategy=<strategy> -</dt> -<dd> -<p> - Use the given merge strategy; can be supplied more than - once to specify them in the order they should be tried. - If there is no <tt>-s</tt> option, a built-in list of strategies - is used instead (<em>git-merge-recursive</em> when merging a single - head, <em>git-merge-octopus</em> otherwise). -</p> -</dd> </dl></div> <div class="vlist"><dl> <dt> @@ -505,7 +487,7 @@ <td class="icon"> <div class="title">Note</div> </td> -<td class="content">This is a potentially _dangerous_ mode of operation. +<td class="content">This is a potentially <em>dangerous</em> mode of operation. It rewrites history, which does not bode well when you published that history already. Do <strong>not</strong> use this option unless you have read <a href="git-rebase.html">git-rebase(1)</a> carefully.</td> @@ -520,6 +502,9 @@ Override earlier --rebase. </p> </dd> +</dl></div> +<h3 id="_options_related_to_fetching">Options related to fetching</h3><div style="clear:left"></div> +<div class="vlist"><dl> <dt> -a </dt> @@ -534,14 +519,13 @@ </p> </dd> <dt> ---upload-pack <upload-pack> +--depth=<depth> </dt> <dd> <p> - When given, and the repository to fetch from is handled - by <em>git-fetch-pack</em>, <em>--exec=<upload-pack></em> is passed to - the command to specify non-default path for the command - run on the other end. + Deepen the history of a <em>shallow</em> repository created by + <tt>git clone</tt> with <tt>--depth=<depth></tt> option (see <a href="git-clone.html">git-clone(1)</a>) + by the specified number of commits. </p> </dd> <dt> @@ -560,6 +544,17 @@ </p> </dd> <dt> +-k +</dt> +<dt> +--keep +</dt> +<dd> +<p> + Keep downloaded pack. +</p> +</dd> +<dt> --no-tags </dt> <dd> @@ -586,17 +581,6 @@ </p> </dd> <dt> --k -</dt> -<dt> ---keep -</dt> -<dd> -<p> - Keep downloaded pack. -</p> -</dd> -<dt> -u </dt> <dt> @@ -613,13 +597,14 @@ </p> </dd> <dt> ---depth=<depth> +--upload-pack <upload-pack> </dt> <dd> <p> - Deepen the history of a <em>shallow</em> repository created by - <tt>git clone</tt> with <tt>--depth=<depth></tt> option (see <a href="git-clone.html">git-clone(1)</a>) - by the specified number of commits. + When given, and the repository to fetch from is handled + by <em>git-fetch-pack</em>, <em>--exec=<upload-pack></em> is passed to + the command to specify non-default path for the command + run on the other end. </p> </dd> <dt> @@ -1093,60 +1078,13 @@ <pre><tt>$ git pull origin next</tt></pre> </div></div> <div class="para"><p>This leaves a copy of <tt>next</tt> temporarily in FETCH_HEAD, but -does not update any remote-tracking branches.</p></div> -</li> -<li> -<p> -Bundle local branch <tt>fixes</tt> and <tt>enhancements</tt> on top of - the current branch, making an Octopus merge: -</p> +does not update any remote-tracking branches. Using remote-tracking +branches, the same can be done by invoking fetch and merge:</p></div> <div class="listingblock"> <div class="content"> -<pre><tt>$ git pull . fixes enhancements</tt></pre> +<pre><tt>$ git fetch origin +$ git merge origin/next</tt></pre> </div></div> -<div class="para"><p>This <tt>git pull .</tt> syntax is equivalent to <tt>git merge</tt>.</p></div> -</li> -<li> -<p> -Merge local branch <tt>obsolete</tt> into the current branch, using <tt>ours</tt> - merge strategy: -</p> -<div class="listingblock"> -<div class="content"> -<pre><tt>$ git pull -s ours . obsolete</tt></pre> -</div></div> -</li> -<li> -<p> -Merge local branch <tt>maint</tt> into the current branch, but do not make - a commit automatically: -</p> -<div class="listingblock"> -<div class="content"> -<pre><tt>$ git pull --no-commit . maint</tt></pre> -</div></div> -<div class="para"><p>This can be used when you want to include further changes to the -merge, or want to write your own merge commit message.</p></div> -<div class="para"><p>You should refrain from abusing this option to sneak substantial -changes into a merge commit. Small fixups like bumping -release/version name would be acceptable.</p></div> -</li> -<li> -<p> -Command line pull of multiple branches from one repository: -</p> -<div class="listingblock"> -<div class="content"> -<pre><tt>$ git checkout master -$ git fetch origin +pu:pu maint:tmp -$ git pull . tmp</tt></pre> -</div></div> -<div class="para"><p>This updates (or creates, as necessary) branches <tt>pu</tt> and <tt>tmp</tt> in -the local repository by fetching from the branches (respectively) -<tt>pu</tt> and <tt>maint</tt> from the remote repository.</p></div> -<div class="para"><p>The <tt>pu</tt> branch will be updated even if it is does not fast-forward; -the others will not be.</p></div> -<div class="para"><p>The final command then merges the newly fetched <tt>tmp</tt> into master.</p></div> </li> </ul></div> <div class="para"><p>If you tried a pull which resulted in a complex conflicts and @@ -1173,7 +1111,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-09-13 09:50:53 UTC +Last updated 2009-10-31 04:03:08 UTC </div> </div> </body>
diff --git a/git-pull.txt b/git-pull.txt index 7578623..b932011 100644 --- a/git-pull.txt +++ b/git-pull.txt
@@ -26,6 +26,10 @@ OPTIONS ------- + +Options related to merging +~~~~~~~~~~~~~~~~~~~~~~~~~~ + include::merge-options.txt[] :git-pull: 1 @@ -47,6 +51,9 @@ --no-rebase:: Override earlier --rebase. +Options related to fetching +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + include::fetch-options.txt[] include::pull-fetch-param.txt[] @@ -131,54 +138,13 @@ ------------------------------------------------ + This leaves a copy of `next` temporarily in FETCH_HEAD, but -does not update any remote-tracking branches. - -* Bundle local branch `fixes` and `enhancements` on top of - the current branch, making an Octopus merge: +does not update any remote-tracking branches. Using remote-tracking +branches, the same can be done by invoking fetch and merge: + ------------------------------------------------ -$ git pull . fixes enhancements +$ git fetch origin +$ git merge origin/next ------------------------------------------------ -+ -This `git pull .` syntax is equivalent to `git merge`. - -* Merge local branch `obsolete` into the current branch, using `ours` - merge strategy: -+ ------------------------------------------------- -$ git pull -s ours . obsolete ------------------------------------------------- - -* Merge local branch `maint` into the current branch, but do not make - a commit automatically: -+ ------------------------------------------------- -$ git pull --no-commit . maint ------------------------------------------------- -+ -This can be used when you want to include further changes to the -merge, or want to write your own merge commit message. -+ -You should refrain from abusing this option to sneak substantial -changes into a merge commit. Small fixups like bumping -release/version name would be acceptable. - -* Command line pull of multiple branches from one repository: -+ ------------------------------------------------- -$ git checkout master -$ git fetch origin +pu:pu maint:tmp -$ git pull . tmp ------------------------------------------------- -+ -This updates (or creates, as necessary) branches `pu` and `tmp` in -the local repository by fetching from the branches (respectively) -`pu` and `maint` from the remote repository. -+ -The `pu` branch will be updated even if it is does not fast-forward; -the others will not be. -+ -The final command then merges the newly fetched `tmp` into master. If you tried a pull which resulted in a complex conflicts and
diff --git a/git-rev-list.html b/git-rev-list.html index fae3111..ba78c34 100644 --- a/git-rev-list.html +++ b/git-rev-list.html
@@ -1587,6 +1587,21 @@ </li> <li> <p> +<em>%gD</em>: reflog selector, e.g., <tt>refs/stash@{1}</tt> +</p> +</li> +<li> +<p> +<em>%gd</em>: shortened reflog selector, e.g., <tt>stash@{1}</tt> +</p> +</li> +<li> +<p> +<em>%gs</em>: reflog subject +</p> +</li> +<li> +<p> <em>%Cred</em>: switch color to red </p> </li> @@ -1627,6 +1642,20 @@ </li> </ul></div> </li> +</ul></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Note</div> +</td> +<td class="content">Some placeholders may depend on other options given to the +revision traversal engine. For example, the <tt>%g*</tt> reflog options will +insert an empty string unless we are traversing reflog entries (e.g., by +<tt>git log -g</tt>). The <tt>%d</tt> placeholder will use the "short" decoration +format if <tt>--decorate</tt> was not already provided on the command line.</td> +</tr></table> +</div> +<div class="ilist"><ul> <li> <p> <em>tformat:</em> @@ -1676,7 +1705,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-08-13 01:22:27 UTC +Last updated 2009-10-31 04:03:08 UTC </div> </div> </body>
diff --git a/git-show.html b/git-show.html index a855dbf..2845625 100644 --- a/git-show.html +++ b/git-show.html
@@ -689,6 +689,21 @@ </li> <li> <p> +<em>%gD</em>: reflog selector, e.g., <tt>refs/stash@{1}</tt> +</p> +</li> +<li> +<p> +<em>%gd</em>: shortened reflog selector, e.g., <tt>stash@{1}</tt> +</p> +</li> +<li> +<p> +<em>%gs</em>: reflog subject +</p> +</li> +<li> +<p> <em>%Cred</em>: switch color to red </p> </li> @@ -729,6 +744,20 @@ </li> </ul></div> </li> +</ul></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Note</div> +</td> +<td class="content">Some placeholders may depend on other options given to the +revision traversal engine. For example, the <tt>%g*</tt> reflog options will +insert an empty string unless we are traversing reflog entries (e.g., by +<tt>git log -g</tt>). The <tt>%d</tt> placeholder will use the "short" decoration +format if <tt>--decorate</tt> was not already provided on the command line.</td> +</tr></table> +</div> +<div class="ilist"><ul> <li> <p> <em>tformat:</em> @@ -895,7 +924,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-07-01 02:31:03 UTC +Last updated 2009-10-31 04:03:09 UTC </div> </div> </body>
diff --git a/git-stash.html b/git-stash.html index 1b60582..860e38e 100644 --- a/git-stash.html +++ b/git-stash.html
@@ -360,7 +360,7 @@ Save your local modifications to a new <em>stash</em>, and run <tt>git reset --hard</tt> to revert them. The <message> part is optional and gives the description along with the stashed state. For quickly making - a snapshot, you can omit _both_ "save" and <message>, but giving + a snapshot, you can omit <em>both</em> "save" and <message>, but giving only <message> does not trigger this action to prevent a misspelled subcommand from making an unwanted stash. </p> @@ -392,8 +392,7 @@ stash@{1}: On master: 9cc0589... Add git-stash</tt></pre> </div></div> <div class="para"><p>The command takes options applicable to the <em>git-log</em> -command to control what is shown and how. If no options are set, the -default is <tt>-n 10</tt>. See <a href="git-log.html">git-log(1)</a>.</p></div> +command to control what is shown and how. See <a href="git-log.html">git-log(1)</a>.</p></div> </dd> <dt> show [<stash>] @@ -616,7 +615,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-10-13 09:06:18 UTC +Last updated 2009-10-31 04:03:09 UTC </div> </div> </body>
diff --git a/git-stash.txt b/git-stash.txt index fafe728..3f14b72 100644 --- a/git-stash.txt +++ b/git-stash.txt
@@ -78,8 +78,7 @@ ---------------------------------------------------------------- + The command takes options applicable to the 'git-log' -command to control what is shown and how. If no options are set, the -default is `-n 10`. See linkgit:git-log[1]. +command to control what is shown and how. See linkgit:git-log[1]. show [<stash>]::
diff --git a/git-whatchanged.html b/git-whatchanged.html index 8a339f1..2c7b361 100644 --- a/git-whatchanged.html +++ b/git-whatchanged.html
@@ -721,6 +721,21 @@ </li> <li> <p> +<em>%gD</em>: reflog selector, e.g., <tt>refs/stash@{1}</tt> +</p> +</li> +<li> +<p> +<em>%gd</em>: shortened reflog selector, e.g., <tt>stash@{1}</tt> +</p> +</li> +<li> +<p> +<em>%gs</em>: reflog subject +</p> +</li> +<li> +<p> <em>%Cred</em>: switch color to red </p> </li> @@ -761,6 +776,20 @@ </li> </ul></div> </li> +</ul></div> +<div class="admonitionblock"> +<table><tr> +<td class="icon"> +<div class="title">Note</div> +</td> +<td class="content">Some placeholders may depend on other options given to the +revision traversal engine. For example, the <tt>%g*</tt> reflog options will +insert an empty string unless we are traversing reflog entries (e.g., by +<tt>git log -g</tt>). The <tt>%d</tt> placeholder will use the "short" decoration +format if <tt>--decorate</tt> was not already provided on the command line.</td> +</tr></table> +</div> +<div class="ilist"><ul> <li> <p> <em>tformat:</em> @@ -834,7 +863,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 2009-07-01 02:31:07 UTC +Last updated 2009-10-31 04:03:10 UTC </div> </div> </body>
diff --git a/merge-options.txt b/merge-options.txt index adadf8e..48d04a5 100644 --- a/merge-options.txt +++ b/merge-options.txt
@@ -1,43 +1,42 @@ --q:: ---quiet:: - Operate quietly. +--commit:: +--no-commit:: + Perform the merge and commit the result. This option can + be used to override --no-commit. ++ +With --no-commit perform the merge but pretend the merge +failed and do not autocommit, to give the user a chance to +inspect and further tweak the merge result before committing. --v:: ---verbose:: - Be verbose. - ---stat:: - Show a diffstat at the end of the merge. The diffstat is also - controlled by the configuration option merge.stat. - --n:: ---no-stat:: - Do not show a diffstat at the end of the merge. - ---summary:: ---no-summary:: - Synonyms to --stat and --no-stat; these are deprecated and will be - removed in the future. +--ff:: +--no-ff:: + Do not generate a merge commit if the merge resolved as + a fast-forward, only update the branch pointer. This is + the default behavior of git-merge. ++ +With --no-ff Generate a merge commit even if the merge +resolved as a fast-forward. --log:: +--no-log:: In addition to branch names, populate the log message with one-line descriptions from the actual commits that are being merged. ++ +With --no-log do not list one-line descriptions from the +actual commits being merged. ---no-log:: - Do not list one-line descriptions from the actual commits being - merged. ---no-commit:: - Perform the merge but pretend the merge failed and do - not autocommit, to give the user a chance to inspect and - further tweak the merge result before committing. - ---commit:: - Perform the merge and commit the result. This option can - be used to override --no-commit. +--stat:: +-n:: +--no-stat:: + Show a diffstat at the end of the merge. The diffstat is also + controlled by the configuration option merge.stat. ++ +With -n or --no-stat do not show a diffstat at the end of the +merge. --squash:: +--no-squash:: Produce the working tree and index state as if a real merge happened (except for the merge information), but do not actually make a commit or @@ -46,19 +45,9 @@ commit. This allows you to create a single commit on top of the current branch whose effect is the same as merging another branch (or more in case of an octopus). - ---no-squash:: - Perform the merge and commit the result. This option can - be used to override --squash. - ---no-ff:: - Generate a merge commit even if the merge resolved as a - fast-forward. - ---ff:: - Do not generate a merge commit if the merge resolved as - a fast-forward, only update the branch pointer. This is - the default behavior of git-merge. ++ +With --no-squash perform the merge and commit the result. This +option can be used to override --squash. -s <strategy>:: --strategy=<strategy>:: @@ -67,3 +56,16 @@ If there is no `-s` option, a built-in list of strategies is used instead ('git-merge-recursive' when merging a single head, 'git-merge-octopus' otherwise). + +--summary:: +--no-summary:: + Synonyms to --stat and --no-stat; these are deprecated and will be + removed in the future. + +-q:: +--quiet:: + Operate quietly. + +-v:: +--verbose:: + Be verbose.
diff --git a/pretty-formats.txt b/pretty-formats.txt index 2a845b1..38b9904 100644 --- a/pretty-formats.txt +++ b/pretty-formats.txt
@@ -123,6 +123,9 @@ - '%s': subject - '%f': sanitized subject line, suitable for a filename - '%b': body +- '%gD': reflog selector, e.g., `refs/stash@\{1\}` +- '%gd': shortened reflog selector, e.g., `stash@\{1\}` +- '%gs': reflog subject - '%Cred': switch color to red - '%Cgreen': switch color to green - '%Cblue': switch color to blue @@ -132,6 +135,12 @@ - '%n': newline - '%x00': print a byte from a hex code +NOTE: Some placeholders may depend on other options given to the +revision traversal engine. For example, the `%g*` reflog options will +insert an empty string unless we are traversing reflog entries (e.g., by +`git log -g`). The `%d` placeholder will use the "short" decoration +format if `--decorate` was not already provided on the command line. + * 'tformat:' + The 'tformat:' format works exactly like 'format:', except that it